<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Work Product (Artifact): Architecture Notebook</title>
<meta name="uma.type" content="WorkProductDescriptor">
<meta name="uma.name" content="architecture_notebook">
<meta name="uma.presentationName" content="Architecture Notebook">
<meta name="element_type" content="WorkProductDescriptor">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../css/default.css" type="text/css">
<script src="./../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ActivityTreeTable.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ProcessElementPage.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/processElementData.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var defaultQueryStr = '?proc=_KaeNsdOFEdyqlogshP8l4g&path=_KaeNsdOFEdyqlogshP8l4g,_EjG_cNOKEdyqlogshP8l4g';
					var backPath = './../../';
					var imgPath = './../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo, defaultQueryStr, false, true, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_EjG_cNOKEdyqlogshP8l4g"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Work Product (Artifact): Architecture Notebook</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../images/workdes_lg_dgm32.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">This artifact describes the rationale, assumptions, explanation, and implications of the decisions that were made in forming the architecture.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Purpose</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell">To capture and make architectural decisions and to explain those decisions to 
developers.&nbsp;</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Roles</th><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Responsible:
								</span>
<ul>
<li>
<a href="./../../process.openup.base/capabilitypatterns/architect_7B656A6B.html" guid="_Ei9OcdOKEdyqlogshP8l4g">Architect</a>
</li>
</ul>
</td><td class="sectionTableCell" colspan="2"><span class="sectionTableCellHeading">Modified By:
								</span>
<ul>
<li>
<a href="./../../process.openup.base/capabilitypatterns/architect_7B656A6B.html" guid="_Ei9OcdOKEdyqlogshP8l4g">Architect</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Input To</th><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Mandatory:
								</span>
<ul>
<li>
<a href="./../../process.openup.base/capabilitypatterns/refine_the_arch_42A35209.html" guid="_6RuKMN_1EdyOsumnGvWsEg">Refine the Architecture</a>
</li>
</ul>
</td><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Optional:
								</span>
<ul>
<li>None</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">External:
								</span>
<ul>
<li>None</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Output From</th><td class="sectionTableCell" colspan="3">
<ul>
<li>
<a href="./../../process.openup.base/capabilitypatterns/refine_the_arch_42A35209.html" guid="_6RuKMN_1EdyOsumnGvWsEg">Refine the Architecture</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Main Description</th><td class="sectionTableCell"><p>
    This artifact&nbsp;describes the <a class="elementLink" href="./../../core.tech.common.extend_supp/guidances/concepts/software_architecture_59A08DE0.html" guid="__O7tAMVvEduLYZUGfgZrkQ">Software Architecture</a>.
</p>
<p> It provides a place for maintaining the list of architectural issues, along 
  with the associated architectural decisions, designs, patterns, code documented 
  (or pointed to), and so forth -- all at appropriate levels to make it easy to 
  understand what architectural decisions have been made and remain to be made. 
</p>
<p> It is helpful for architects to use this artifact to collaborate with other 
  team members in developing the architecture and to help team members understand 
  the motivation behind architectural decisions so that those decisions can be 
  robustly implemented. For example, the architect may put constraints on how 
  data is packaged and communicated between different parts of the system. This 
  may appear to be a burden, but the justification in the Architecture Notebook 
  can explain that there is a significant performance bottleneck when communicating 
  with a legacy system. The rest of the system must adapt to this bottleneck by 
  following a specific data packaging scheme. </p>
<p> This artifact should also inform the team members how the system is partitioned 
  or organized so that the team can adapt to the needs of the system. It also 
  gives a first glimpse of the system and its technical motivations to whoever 
  must maintain and change the architecture later.<br />
</p></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Brief Outline</th><td class="sectionTableCell"><p dir="ltr" style="MARGIN-RIGHT: 0px"> At a minimum, this artifact should do 
  these three things:</p>
<ul dir="ltr">
    <li>
        
    <div style="MARGIN-RIGHT: 0px"> List guidelines, decisions, and constraints 
      to be followed </div>
    </li>
    <li>
        
    <div style="MARGIN-RIGHT: 0px"> Justify those guidelines, decisions, and constraints 
    </div>
    </li>
    <li>
        
    <div style="MARGIN-RIGHT: 0px"> Describe the Architectural Mechanisms and 
      where they should be applied</div>
    </li>
</ul>
<p dir="ltr" style="MARGIN-RIGHT: 0px"> Team members who were not involved in 
  those architectural decisions need to understand the reasoning behind the context 
  of the architecture so that they can address the needs of the system. Consider 
  adding more information when appropriate. A small project shouldn't spend a 
  lot of time documenting the architecture, but all critical elements of the system 
  must be communicated to current and future team members. This is all useful 
  content: </p>
<ul dir="ltr">
    <li>
        <div style="MARGIN-RIGHT: 0px">
            Goals and philosophy of the architecture
        </div>
    </li>
    <li>
        <div style="MARGIN-RIGHT: 0px">
            Architectural assumptions and dependencies
        </div>
    </li>
    <li>
        <div style="MARGIN-RIGHT: 0px">
            References to architecturally significant requirements
        </div>
    </li>
    <li>
        <div style="MARGIN-RIGHT: 0px">
            References to architecturally significant design elements
        </div>
    </li>
    <li>
        <div style="MARGIN-RIGHT: 0px">
            Critical system interfaces
        </div>
    </li>
    <li>
        <div style="MARGIN-RIGHT: 0px">
            Packaging instructions for subsystems and components
        </div>
    </li>
    <li>
        <div style="MARGIN-RIGHT: 0px">
            Layers and critical subsystems
        </div>
    </li>
    <li>
        <div style="MARGIN-RIGHT: 0px">
            Key abstractions
        </div>
    </li>
    <li>
        
    <div style="MARGIN-RIGHT: 0px"> Key scenarios that describe critical behavior 
      of the system </div>
    </li>
</ul></td>
</tr>
</table>
</div>
<div class="sectionHeading">Properties</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Optional" abbr="Optional">Optional</th><td class="sectionTableCell" align="left" headers="property_Optional"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Planned" abbr="Planned">Planned</th><td class="sectionTableCell" align="left" headers="property_Planned"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
</table>
</div>
<div class="sectionHeading">Illustrations	</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Templates</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../practice.tech.evolutionary_arch.base/guidances/templates/architecture_notebook_BCD3507B.html" guid="_me8WcAANEdyRS9uciXlZ6g">Architecture Notebook</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Tailoring</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Impact of not having</th><td class="sectionTableCell">Without this artifact, there will be no coordination of the individual design 
efforts, and it will be difficult to establish and communicate an overall architectural 
vision of the project.</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Reasons for not needing</th><td class="sectionTableCell"><p> This artifact is not required if an existing reference architecture is being 
  used or another approach or set of artifacts are being used to document the 
  architecture. This artifact may not be needed if the design is relatively straight-forward 
  and does not have any architecturally significant risks. </p></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Representation Options</th><td class="sectionTableCell">A set of architectural models can be developed as part of the architectural documentation. For 
more information, see <a class="elementLinkWithType" href="./../../practice.tech.evolutionary_arch.base/guidances/guidelines/modeling_the_arch_8BE6E55B.html" guid="_HrgUQNcuEdy1nJEYZGzN4A">Guideline: Modeling the Architecture</a>.</td>
</tr>
</table>
</div>
<div class="sectionHeading">More Information</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Checklists</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../practice.tech.evolutionary_arch.base/guidances/checklists/architecture_notebook_BC815A4B.html" guid="_17PYUNd6EdmIm-bsRSNCgw">Architecture Notebook</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Concepts</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../core.tech.common.extend_supp/guidances/concepts/software_architecture_59A08DE0.html" guid="__O7tAMVvEduLYZUGfgZrkQ">Software Architecture</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Guidelines</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../practice.tech.evolutionary_arch.base/guidances/guidelines/modeling_the_arch_8BE6E55B.html" guid="_HrgUQNcuEdy1nJEYZGzN4A">Modeling the Architecture</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script language="JavaScript" type="text/javascript">
					contentPage.onload();
					contentPage.processPage.fixDescriptorLinks();
				</script>
</html>
